<template>
  <div>
    <h3>求和结果为：{{ $store.state.sum }}</h3>
    <h3>当前求和放大10倍为：{{ $store.getters.enlarge }}</h3>
    <select v-model.number="n">
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
    </select>
    <button @click="increment">两数相加</button>
    <button @click="decrement">两数相减</button>
    <button @click="incrementOdd">相加的结果为奇数时再加</button>
    <button @click="incrementWait">延时相加</button>
  </div>
</template>

<script>
export default {
  name: "Calculate",
  data() {
    return {
      n: 1, //用户选择的数字
    };
  },
  methods: {
    // 两数相加，使用 $store.dispatch 触发 actions 中的回调
    increment() {
      this.$store.dispatch("increment", this.n);
    },
    // 两数相减，使用 $store.dispatch 触发 actions 中的回调
    decrement() {
      this.$store.dispatch("decrement", this.n);
    },
    //相加的结果为奇数时再加，使用 $store.commit 触发 mutations 中的回调
    incrementOdd() {
      this.$store.commit("INCREMENT_ODD", this.n);
    },
    //延时相加，使用 $store.commit 触发 mutations 中的回调
    incrementWait() {
      this.$store.commit("INCREMENT_WAIT", this.n);
    },
  },
};
</script>

<style>
</style>